home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / R-Shows / (c)woc vi 88.d64 / terminal.c1 v2a4 (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  3KB  |  110 lines

  1. 0 REM MODIFIED BY CHRIS WAWRZYNIAK
  2. 1 REM ON:MON.JUNE 27TH.'88.
  3. 2 :
  4. 10 REM  *** NEW PROTOCOL ***
  5. 20 REM  RELEASE 2.2A: MAR 15 1986
  6. 30 REM  BY STEVE PUNTER
  7. 35 REM  300 +/- BAUD BY GEOFF WELSH
  8. 40 IFPEEK(49152)<>169THENLOAD"PUNTER.ML",8,1
  9. 50 OPEN5,2,0,CHR$(8):GET#5,A$:BS=255:OPEN1,8,15:DIMT$(3):SYS49176
  10. 60 TY$="PSP":T$(1)="[208]ROGRAM":T$(2)="[211][197][209]":T$(3)="[215]ORD[208]RO":CS=1.02273E6
  11. 70 BR$="300":GOSUB6000:POKE53280,0:POKE53281,0
  12. 80 PRINT"[147][154][[200][207][205][197]] = MAIN MENU[153][207]PTION: ("+BR$+" [194]AUD) [194]LOCK [211]IZE ="BS""
  13. 81 PRINT TAB(16)"[205][193][201][206] [205][197][206][213][153]"
  14. 90 PRINT"   1 - [212]ERMINAL [205]ODE"
  15. 100 PRINT"   2 - [212]RANSMIT A [198]ILE"
  16. 110 PRINT"   3 - [210]ECEIVE A [198]ILE"
  17. 120 PRINT"   4 - [195]HANGE [194]LOCK [211]IZE"
  18. 130 PRINT"   5 - [195]HANGE [194]AUD [210]ATE 1200, 300 (+/-)"
  19. 135 PRINT"   6 - [196]IAL 1670"
  20. 140 GETA$:IFA$=""THEN140
  21. 150 IFA$="2"THEN1000
  22. 160 IFA$="3"THEN2000
  23. 170 IFA$="4"THEN3000
  24. 180 IFA$="1"THENPRINT"[212]ERMINAL [205]ODE:":GOTO4000
  25. 190 IFA$="5"THEN6700
  26. 195 IFA$="6"THEN7000
  27. 200 GOTO140
  28. 1000 PRINT"[208]ROGRAM [206]AME? ";:GOSUB5000:IFI$=""ORFL=1THEN80
  29. 1010 PRINT"[198]ILE [212]YPE ([208], [211], OR [215])?  [146][157]";
  30. 1020 GETA$:IFA$=""THEN1020
  31. 1030 IFA$="[133]"THEN80
  32. 1040 IFA$="P"THENSA=0:T=1:GOTO1080
  33. 1050 IFA$="S"THENSA=2:T=2:GOTO1080
  34. 1060 IFA$="W"THENSA=0:T=3:GOTO1080
  35. 1070 GOTO1020
  36. 1080 PRINTT$(T)"":OPEN2,8,SA,I$:INPUT#1,E$,EM$,T$,S$
  37. 1090 IFVAL(E$)>0THENPRINT""E$","EM$","T$","S$:CLOSE2:GOTO1010
  38. 1120 SYS49173:POKE51227,T:SYS49164:IFPEEK(512)=1THENCLOSE2:GOTO4000
  39. 1130 SYS49173:POKE51224,BS:SYS49158:CLOSE2:GOTO4000
  40. 2000 PRINT"[211]AVE [193]S? ";:GOSUB5000:IFI$=""ORFL=1THEN80
  41. 2010 SYS49173:SYS49161:IFPEEK(512)=1THEN4000
  42. 2020 T$=","+MID$(TY$,PEEK(51227),1)+",W"
  43. 2021 IFLEFT$(I$,2)<>"1:"ANDLEFT$(I$,3)<>"@0:"ANDLEFT$(I$,3)<>"@1:"THENI$="0:"+I$
  44. 2025 PRINT"[198]ILE [212]YPE: "T$(PEEK(51227))
  45. 2030 OPEN2,8,2,I$+T$:FORX=1TO1300:NEXTX:PRINT:SYS61310
  46. 2040 SYS49173:SYS49155:CLOSE2:FORX=1TO1500:NEXTX:POKE668,PEEK(667):GOTO4000
  47. 3000 PRINT"[194]LOCK [211]IZE? ";:GOSUB5000:IFI$=""THEN80
  48. 3010 BS=VAL(I$):IFBS<40THENBS=40
  49. 3020 IFBS>255THENBS=255
  50. 3030 GOTO80
  51. 4000 PRINT
  52. 4010 SYS49173:SYS49167:GOTO80
  53. 5000 I$="":FL=0
  54. 5010 PRINT" [146][157]";
  55. 5020 GETA$:IFA$=""THEN5020
  56. 5030 IFA$=CHR$(13)THEN5100
  57. 5040 IFA$=CHR$(20)THEN5080
  58. 5045 IFA$="[133]"THENFL=1:GOTO5100
  59. 5050 IFLEN(A$)>20THEN5020
  60. 5060 IF(ASC(A$)AND127)<32THEN5020
  61. 5070 PRINTA$;:I$=I$+A$:GOTO5010
  62. 5080 IFLEN(I$)=0THEN5020
  63. 5090 PRINT" [157][157]";:I$=LEFT$(I$,LEN(I$)-1):GOTO5010
  64. 5100 PRINT" ":RETURN
  65. 6000 S=VAL(BR$):POKE659,6:IFS=1200THENPOKE659,8
  66. 6010 RC=CS/S:GOSUB6500:POKE51968,LO:POKE51969,HI
  67. 6020 IFS=1200THENRC=CS/S*.966:GOSUB6500
  68. 6030 POKE665,LO:POKE666,HI
  69. 6040 RC=CS/S/2-100:GOSUB6500:POKE661,LO:POKE662,HI:RETURN
  70. 6500 HI=INT(RC/256):LO=INT(RC-HI*256):RETURN
  71. 6700 PRINT"[206]EW BAUD RATE ([210][197][212][213][210][206] FOR 300)? ";:GOSUB5000:IFI$=""THENI$="300"
  72. 6710 I=VAL(I$):IFI=1200OR(I>49ANDI<501)THENBR$=I$:GOSUB6000:GOTO80
  73. 6720 PRINT"[201]NVALID BAUD RATE!":GOTO6700
  74. 6900 GET#5,A$:IFA$=""THEN6900
  75. 6910 RETURN
  76. 6920 GOSUB6900:IFA$<>"0"THEN6920
  77. 6930 RETURN
  78. 6940 GET#5,A$:IFA$<>""THEN6940
  79. 6950 RETURN
  80. 6960 T=TI
  81. 6970 IFTI<T+65THEN6970
  82. 6980 RETURN
  83. 7000 PRINT"[147][196]IAL OUT VIA 1670.":C=0:PRINT#5,"+++";
  84. 7002 PRINT"[208][146]ULSE OR [212][146]ONE?"
  85. 7004 GETA$:IFA$<>"P"ANDA$<>"T"THEN7004
  86. 7006 D$="ATDP":IFA$="T"THEND$="ATDT"
  87. 7010 PRINT"ENTER NUMBER OR [210][197][212][213][210][206]:";:I$="":GOSUB5000:IFI$=""THEN7050
  88. 7020 PRINT"1200 BAUD (Y/N)?";
  89. 7030 GETA$:IFA$<>"Y"ANDA$<>"N"THEN7030
  90. 7032 PRINTA$:PRINT"[204]ONG DISTANCE (Y/N)?";
  91. 7034 GETB$:IFB$<>"Y"ANDB$<>"N"THEN7034
  92. 7040 PRINTB$:C=C+1:N$(C)=I$:HS(C)=-(A$="Y"):LD(C)=-(B$="Y"):IFC<10THEN7010
  93. 7050 PRINT"[147][196]IALING:":IFC=0THEN80
  94. 7070 PRINT#5,"ATE0 V0 S0=0 M0":GOSUB6960
  95. 7115 FORI=1TOC
  96. 7120 BR$="300":IFHS(I)THENBR$="1200"
  97. 7122 DE$="15":IFLD(I)THENDE$="25"
  98. 7124 PRINT#5,"ATS7="DE$:GOSUB6960:GOSUB6940
  99. 7130 GOSUB6000:PRINT#5,D$N$(I):PRINTN$(I):T=TI
  100. 7140 GET#5,A$:GETB$:IFA$="1"OR(PEEK(56577)AND16)=0THENA$="1":GOSUB7200:GOTO180
  101. 7150 IFA$="3"ORTI>T+3600THENGOSUB6960:PRINT"[145]                 [145]":NEXTI:GOTO7115
  102. 7160 IFB$="[133]"ORB$="[134]"ORB$="[135]"THENPRINT#5," ";
  103. 7170 IFB$="[134]"THEN7000
  104. 7180 IFB$="[133]"THEN80
  105. 7190 GOTO7140
  106. 7200 FORI=54272TO54296:POKEI,0:NEXT:POKE54275,4:POKE54278,240:POKE54296,15
  107. 7210 POKE54276,65:FORI=30TO130:POKE54273,I:FORJ=1TO10:NEXT:NEXT
  108. 7220 FORI=130TO30STEP-1:POKE54273,I:FORJ=1TO10:NEXT:NEXT
  109. 7230 FORI=54272TO54296:POKEI,0:NEXT:RETURN
  110.